﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using QUT.Bio.Util;

namespace BlastExplorer {
	/// <summary>
	///	General application settings. 
	/// </summary>
	
	public class Settings {

		#region Property: DefaultEValue
		/// <summary>
		/// Gets the default evalue.
		/// </summary>

		public static double DefaultEValue {
			get {
				try {
					return Configuration.Args.Double["DefaultEValue"];
				}
				catch {
					return 10.0;
				}
			}
		} 
		#endregion

		#region Property: DefaultCddEValue
		/// <summary>
		/// Gets the default value of the evalue threshold for Conserved domain database search.
		/// </summary>
			
		public static double DefaultCddEValue {
			get {
				try {
					return Configuration.Args.Double["DefaultCddEValue"];
				}
				catch {
					return 1.0e-25;
				}
			}
		}
		#endregion
		
		#region Property: DefaultGI
		/// <summary>
		/// Gets the default GI value.
		/// </summary>
		
		public static string DefaultGI {
			get {
				return Configuration.Args["DefaultGI"];
			}
		}
		#endregion

		#region Property: DefaultHitListSize
		/// <summary>
		/// Get the default hit list size.
		/// </summary>

		public static int DefaultHitListSize {
			get {
				try {
					return Configuration.Args.Int["DefaultHitListSize"];
				}
				catch {
					return 50;
				}
			}
		} 
		#endregion

		#region Property: GenomeDBWebServiceAddress
		/// <summary>
		/// Gets the uri for genomeDB.
		/// </summary>
		
		public static Uri GenomeDBWebServiceAddress {
			get {
				return new Uri( Configuration.Args["GenomeDBWebServiceAddress"] );
			}
		}
		#endregion

		#region Property: RpsBlastWebServiceAddress
		/// <summary>
		/// Gets the uri for RpsBlast.
		/// </summary>
		/// 
		public static Uri RpsBlastWebServiceAddress {
			get {
				return new Uri( Configuration.Args["RpsBlastWebServiceAddress"] );
			}
		}
		#endregion
	}
}
